package com.abc.deviceservice.usb;

public interface IUSB {
    /**
     * 连接
     * @return 0表示成功 其他表示失败或者取消
     */
    int connect();

    /**
     * 断开连接
     * @return 0表示成功 其他表示失败或者取消
     */
    int dissconnect();

    /**
     * 获取连接状态
     * @return 0表示已连接 1表示未连接
     */
    int getStatus();

    /**
     * 读取数据
     * @param buffer 接收数据的数组
     * @return -1表示失败或者取消 其他大于零整数表示读取的字符数
     */
    int read(byte[] buffer);

    /**
     * 发送数据
     * @param data 需要发送的数据
     * @return 0表示成功 其他表示失败或者取消
     */
    int write(byte[] data);

    /**
     * 取消读写操作
     */
    void cancel();
}
